package cn.unknowpupil.init.mapper.system;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;

import cn.unknowpupil.init.domain.system.SysUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * Created at 2020-11-13 by  w10g <br>
 * Initialize SysUser  ... <br>
 * 用户信息表 数据持久层处理
 *
 * @author unknowpupil
 * @since 0.0.1
 */
@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {

    /**
     * 修改用户登录状态
     *
     * @param userId
     * @param loginIp
     * @param lastLoginDate
     * @return
     */
    boolean updateByUserId(@Param("userId") Long userId, @Param("loginIp") String loginIp, @Param("lastLoginDate") Date lastLoginDate);

    /**
     * 分页查询用户
     *
     * @param page
     * @param sysUser
     * @return
     */
    IPage<SysUser> page(@Param("page") IPage<SysUser> page, @Param("sysUser") SysUser sysUser);

    /**
     * 查找用户下面所有的子账户的用户名
     *
     * @param id
     * @return
     */
    List<String> getAllSunUserByUserId(@Param("id") Long id);

    /**
     * 查找用户下面所有的子账户的id
     *
     * @param id
     * @return
     */
    List<Long> getAllSunIdByUserId(@Param("id") Long id);
}
